package com.justgame.project.service.just.service.basic;

import com.justgame.project.service.just.entity.JustGameCompany;
import com.justgame.project.service.just.query.JustGameCompanyQuery;
import com.justgame.project.service.just.wrapper.JustGameCompanyWrapper;
import com.justgame.project.base.servcice.IBasicService;
import org.springframework.util.Assert;
import org.springframework.lang.NonNull;
import java.lang.String;

/**
 *
 * 游戏发行方信息服务自定义查询类
 *
 * @@tableName just_game_company
 * @author Zwb
 */
@SuppressWarnings("all")
public interface BasicJustGameCompanyService extends IBasicService<JustGameCompanyQuery,JustGameCompany,JustGameCompanyWrapper> {

   /**
    * 新增创建
    * @param name 发行商名称
    * @param imageUrl 发行商封面图
    * @param description 介绍描述
    */
   default JustGameCompany baseAdd(String name, String imageUrl, String description){
      JustGameCompany justGameCompany = new JustGameCompany();
      justGameCompany.setName(safeValue(name, null));
      justGameCompany.setImageUrl(safeValue(imageUrl, null));
      justGameCompany.setDescription(safeValue(description, null));
      save(justGameCompany);
      return justGameCompany;
   }

   /**
    * 更新
    * @param name 发行商名称
    * @param imageUrl 发行商封面图
    * @param description 介绍描述
    */
   default boolean baseUpdate(@NonNull JustGameCompany justGameCompany,String name, String imageUrl, String description){
      Assert.notNull(description,"必须提供介绍描述");
      Assert.notNull(name,"必须提供发行商名称");
      Assert.notNull(imageUrl,"必须提供发行商封面图");
      Assert.notNull(justGameCompany.getId(),"必须提供主键ID");
      justGameCompany.setName(safeValue(name, null));
      justGameCompany.setImageUrl(safeValue(imageUrl, null));
      justGameCompany.setDescription(safeValue(description, null));
      return updateById(justGameCompany);
   }

}